Machine or group of machines for monitoring location of a vehicle or freight carried by a vehicle

ABSTRACT

A machine or group of machines for monitoring location of at least one of a vehicle or freight carried by the vehicle includes a communications interface configured to communicate electronic signals including a location request signal including data representing a request for information regarding the location of the vehicle or the freight carried by the vehicle, and a correlation logic in the machine or group of machines configured to correlate, by a CPU, the vehicle or the freight carried by the vehicle to a communications device.

TECHNICAL FIELD

The present disclosure relates to a machine or group of machines formonitoring location.

BACKGROUND

Location information is becoming more important and prevalent.

In one example application of the use of location information, carriers,shippers, freight hauling services providers, third-party logisticsservice providers and courier services providers as well as otherlogistics and freight service providers (freight hauling) benefit frommonitoring the location of vehicles in their fleets or under contract.Monitoring the location of vehicles helps improve efficiency because itallows for real-time or near real-time decision making when matchingloads with vehicles. For example, by monitoring the location of fleetvehicles, a dispatcher may better understand which vehicle is the mostappropriate (e.g., geographically closest, appropriate size, etc.) tosend to a location for a load pickup. Conventional systems formonitoring vehicle location have relied on global positioning systems(GPS) to provide the vehicle's location. These systems require a GPSreceiver to be installed in each vehicle. Moreover, some of thesesystems require the installation of additional dedicated equipment ineach vehicle.

In addition, at least in part due to limitations of conventional systemsfor monitoring vehicle location, a common practice in the vehiclelocation monitoring services industry is to charge a user a standardflat monthly fee for monitoring services. This practice may represent asubstantial cost to a user or organization that, for example, may wishto monitor a relatively small number of vehicles or a relatively smallnumber of loads for a relatively short amount of time.

SUMMARY

Alternative methods for monitoring location of vehicles includeradiolocation techniques including triangulation or multilaterationmethods that are capable of locating devices in a network. These methodsinvolve the measurement of radio signals between a device and radiotowers in the network. The technology, originally intended bytelecommunication companies to approximate the location of a mobilephone in case of emergencies, provides the location of a device in thenetwork.

The use of all of these location information technologies also raisesprivacy issues. A user's privacy may be at risk if location informationis misused or disclosed without the authorization or knowledge of theuser. To address these privacy concerns, various governmental andbusiness organizations have developed rules and guidelines to protectuser privacy. For example, the International Association for theWireless Telecommunications Industry (CTIA) has developed Best Practicesand Guidelines for Location-Based Services (the “CTIA Guidelines”),which are hereby incorporated by reference.

The Guidelines provide a framework based on two principles: user noticeand consent. Users must receive “meaningful notice about how locationinformation will be used, disclosed and protected so that users can makeinformed decisions . . . and . . . have control over their locationinformation.” Users must also “consent to the use or disclosure oflocation information” and “have the right to revoke consent . . . at anytime.”

Although, electronic methods have been developed that make use of webbrowsers and SMS texting capabilities of mobile devices to providenotification and consent, some of these systems have proved inconvenientand may require advanced mobile devices or extensive user training.

A computer implemented method for monitoring location of a vehicleincludes receiving a first electronic signal including data representinga request for information regarding the location of the vehicle,correlating the vehicle to a communications device based at least inpart on the communications device being associated with a user who isassociated with the vehicle, and transmitting a second electronic signalto a location information provider corresponding to a party or deviceother than the communications device. The second electronic signalincludes data representing a request for location information of thecommunications device. The computer implemented method for monitoringlocation of a vehicle further includes receiving a third electronicsignal from the location information provider. The third electronicsignal includes data representing the location information of thecommunications device. The computer implemented method for monitoringlocation of a vehicle further includes correlating the locationinformation of the communications device with the location of thevehicle based at least in part on the communications device beingassociated with the user who is associated with the vehicle, andtransmitting a fourth electronic signal including data representing thelocation of the vehicle.

Another computer implemented method for monitoring location of a vehicleincludes transmitting a request signal requesting location informationof a communications device. The request signal is transmitted to a partyother than the communications device and the communications device isassociated with a user of the communications device who is associatedwith the vehicle. The computer implemented method for monitoringlocation of a vehicle further includes receiving a location signalincluding data indicating the location information of the communicationsdevice. The location signal is received from a party other than thecommunications device and the location information of the communicationsdevice is originally obtained using a method not requiring a globalposition system (GPS) satellite receiver to form part of thecommunications device. The computer implemented method for monitoringlocation of a vehicle further includes transforming the locationinformation of the communications device into location informationregarding the vehicle based at least in part on the communicationsdevice being associated with the user of the communications device whois associated with the vehicle.

A system for monitoring location of a vehicle includes a communicationsinterface configured to communicate electronic signals including: afirst electronic signal including data representing a request for thelocation of the vehicle, the first electronic signal received from arequesting party, a second electronic signal including data representinga request for location information of a communications device, whereinthe second electronic signal is transmitted to a location informationprovider corresponding to a party or device other than thecommunications device, wherein the communications device is associatedwith a user of the communications device who is associated with thevehicle, a third electronic signal including data representing thelocation information of the communications device, wherein the thirdelectronic signal is received from the location information providercorresponding to the party or device other than the communicationsdevice, and a fourth electronic signal including data representing thelocation of the vehicle, the fourth electronic signal transmitted to areceiving party. The system for monitoring location of a vehicle furtherincludes a correlation logic configured to correlate the locationinformation of the communications device to the location of the vehiclebased at least in part on the communications device being associatedwith the user of the communications device who is associated with thevehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate various example systems, methods,and so on, that illustrate various example embodiments of aspects of theinvention. It will be appreciated that the illustrated elementboundaries (e.g., boxes, groups of boxes, or other shapes) in thefigures represent one example of the boundaries. One of ordinary skillin the art will appreciate that one element may be designed as multipleelements or that multiple elements may be designed as one element. Anelement shown as an internal component of another element may beimplemented as an external component and vice versa. Furthermore,elements may not be drawn to scale.

FIG. 1 illustrates an exemplary system for monitoring the location of avehicle.

FIG. 2 illustrates a simplified exemplary chart illustrating how acorrelation logic may correlate a vehicle to a communications device orthe location of the vehicle to the location information of thecommunications device.

FIG. 3 illustrates the exemplary system for monitoring the location of avehicle with additional details.

FIG. 4 illustrates a flow diagram for an exemplary method for monitoringlocation of a vehicle.

FIG. 5 illustrates a flow diagram for an exemplary method for monitoringlocation of a vehicle.

FIG. 6 illustrates a flow diagram for an exemplary method for receivingconsent from a user to monitoring the location of a vehicle associatedwith the user.

FIG. 7 illustrates a flow diagram for an exemplary method for receivingfrom a user a revocation of consent to monitoring the location of avehicle associated with the user.

FIG. 8 illustrates an exemplary user interface for use in conjunctionwith a system for monitoring the location of a vehicle.

FIG. 9 illustrates an application programming interface (API) providingaccess to a system for monitoring the location of a vehicle.

FIG. 10 illustrates a computer where systems or methods for monitoringthe location of a vehicle may be implemented.

DETAILED DESCRIPTION

Some portions of the detailed descriptions that follow are presented interms of algorithms and symbolic representations of operations on databits within a memory. These algorithmic descriptions and representationsare the means used by those skilled in the art to convey the substanceof their work to others. An algorithm is here, and generally, conceivedto be a sequence of operations that produce a result. The operations mayinclude physical manipulations of physical quantities. Usually, thoughnot necessarily, the physical quantities take the form of electrical ormagnetic signals capable of being stored, transferred, combined,compared, and otherwise manipulated in a logic and the like.

It has proven convenient at times, principally for reasons of commonusage, to refer to these signals as bits, values, elements, symbols,characters, terms, numbers, or the like. It should be borne in mind,however, that these and similar terms are to be associated with theappropriate physical quantities and are merely convenient labels appliedto these quantities. Unless specifically stated otherwise, it isappreciated that throughout the description, terms like processing,computing, calculating, determining, displaying, or the like, refer toactions and processes of a computer system, logic, processor, or similarelectronic device that manipulates and transforms data represented asphysical (electronic) quantities.

In the present disclosure, embodiments are described in the context oflocation of freight hauling vehicles. It will be appreciated, however,that the exemplary context of freight hauling vehicles is not the onlyoperational environment in which aspects of the disclosed systems andmethods may be used. Therefore, the techniques described in thisdisclosure may be applied to many types of apparatus, vehicles ordevices whose location information may be of interest.

FIG. 1 illustrates an exemplary system 100 for monitoring the locationof a vehicle 105, which has a communication device 110 within thevehicle 105. The system 100 includes a communications interface 120 thatcommunicates with devices external to the system 100 via electronicsignals. For example, the communications logic 120 is configured tocommunicate with a location information provider 150, a requesting party160, and a receiving party 165.

The location information provider 150 corresponds to a party or deviceother than the vehicle 105 and the device 110. The location informationprovider 150 has access to location of the vehicle 105 or the device110. In one embodiment, the location information provider 150 is awireless service provider that provides wireless service in a network155. In another embodiment, the location information provider 150 is athird party or device that receives the location information of thedevice 110 from the wireless service provider or from some other partyor device. In yet another embodiment, the location information provider150 is a party other than a wireless service provider or a third party.For example, the party seeking to monitor the location of the vehicle105, the requesting party 160, may have access to the locationinformation of the device 110. In that case, the requesting party 160may also be the location information provider 150. In another example,the party operating the system 100 may have access to the locationinformation of the device 110.

The requesting party 160 corresponds to a party or device interested inmonitoring the location of the vehicle 105 or on allowing another partyto monitor the location of the vehicle 105. The receiving party 165corresponds to a party or device who receives the location of thevehicle 105 from the system 100 to monitor the location of the vehicle105. In an example involving freight hauling services providers orfreight carriers, a carrier who is interested in monitoring the locationof its own vehicles, vehicles under contract, or other vehicles requeststhe ability to monitor the location of the vehicle 105 for its ownconsumption. In this case, the carrier is both the requesting party 160and the receiving party 165. In another example, the requesting party160 may be a driver interested in sharing the location of his/hervehicle 105 with a carrier to allow the carrier to monitor the locationof the vehicle 105. In this case, the driver is the requesting party 160and the carrier is the receiving party 165. In one embodiment, multipleparties or devices may be interested in monitoring the location of thevehicle 105 or on allowing another party to monitor the location of thevehicle 105. In that case, the communications interface 120 isconfigured to communicate with multiple requesting parties and/ormultiple receiving parties.

The system 100 further includes a correlation logic 170 that correlatesthe vehicle 105 and the device 110. In one embodiment, the correlationlogic 170 correlates the vehicle 105 and the device 110 based at leastin part on the vehicle 105 being associated with at least one user whois also associated with the device 110. For example, the user may beassociated with the vehicle 105 because the user is the designateddriver of the vehicle 105 and the user may be associated with thecommunications device 110 because the user is under contract with awireless service provider for the provider to provide wireless serviceto the communications device 110. In another example, the user isassociated with the vehicle 105, with the device 110, or with both in adatabase or in the correlation logic 170. In another embodiment, thevehicle 105 is directly associated with the communications device 110without a user being associated with the vehicle 105 or with the device110.

In an example of the operation of the system 100, the requesting party160 transmits and the communications interface 120 receives datarepresenting a request from the requesting party 160 for the ability tomonitor the location of the vehicle 105. In response to the request fromthe requesting party 160, the correlation logic 170 correlates thevehicle 105 to the device 110. The communications interface 120transmits to the location information provider 150 data representing oneor more requests for location information of the device 110. In responseto a request for location information of the device 110, the locationinformation provider 150 transmits and the communications interface 120receives data representing the location information of the device 110.The correlation logic 170 correlates the location information of thedevice 110 to the location of the vehicle 105.

With the location of the vehicle 105 on hand, the communicationinterface 120 can transmit data representing the location of the vehicle105 to the receiving party 165 through computer communication. Thelocation of the vehicle 105 may then be displayed in a user interface(not shown). In another embodiment, the communications interface 120 isconfigured to communicate the location to the receiving party 165 byexposing an application programming interface (API) through which thereceiving party 165 can access the location of the vehicle 105. Thereceiving party 165 can make use of the API to make the informationavailable to its enterprise software (e.g., SAP, Oracle, etc.) forexample.

FIG. 2 illustrates a simplified exemplary chart 200 illustrating how thecorrelation logic 170 may correlate the vehicle 105 to the device 110 orthe location of the vehicle 105 to the location information of thedevice 110. In the illustrated embodiment, for each vehicle 105 a-gregistered in the system 100, the correlation logic 170 has data fieldscorresponding to each vehicle 105 a-g. The data fields includeinformation regarding the vehicles 105 a-g. Potential information thatmay be included in the data fields include one or more drivers 210 a-bassociated with each of the vehicles 105 a-g and one or more devices 110a-b associated with each of the drivers 210 a-b, respectively. Thedrivers 210 a-b are identified by name while the devices 110 a-b areidentified by an identifier, which in this case corresponds to atelephone number associated with the respective device 110 a-b.

In other embodiments, the identifier corresponds to a number or someother identifying information associated with the device 110 other thana telephone number. For example, the identifier may be a mobileidentification number (MIN), an electronic serial number (ESN), anInternational Mobile Equipment Identity (IMEI), an International MobileSubscriber Identity (IMSI), a Mobile Equipment Identifier (MEID), aManufacturer's Serial Number (MSN), a Mobile Subscriber IntegratedServices Digital Network (MSISDN) number, a Media Access Control (MAC)address, combinations thereof, and so on.

Additional information that may be included in the data fields includethe capacity of a vehicle 105 a-g (e.g., total volumetric and weightcapacity 220, available volumetric and weight capacity 230, etc.),whether the container is refrigerated Ref., and so on.

In the illustrated embodiment, the vehicle 105 a is associated with anactive driver 210 a named Bianchi Campagnolo who is associated with anactive device 110 a identified by an identifier corresponding to thetelephone number (143) 846-5405. The vehicle 105 a may also beassociated with a backup driver named Bob Haro who is associated with abackup device 110 b identified by an identifier corresponding to thetelephone number (443) 240-5465. The correlation logic 170 correlatesthe vehicle 105 with the active driver 210 a unless the correlationlogic 170 is instructed to instead use the backup driver 210 b. In thatcase, the active driver 210 a and the backup driver 210 b may switch,with the name listed under backup driver 210 b appearing under activedriver 210 a and viceversa. Similarly, the correlation logic 170correlates the vehicle 105 with the active device 110 a unless thecorrelation logic 170 is instructed to instead use the backup device 110b. In that case, the active device 110 a and the backup device 110 b mayswitch, with the identifier listed under backup device 110 b appearingunder active device 110 a and viceversa. In this way, the correlationlogic 170 can transform the location information of the communicationsdevice 110 into information regarding the location of the vehicle 105 bycorrelating the location information of the communications device 110 tothe location of the vehicle 105 based at least in part on thecommunications device 110 being associated with the user who isassociated with the vehicle 105. In one embodiment, the correlationlogic 170 correlates the vehicle 105 with the active driver 210 a andthe backup driver 210 b.

In the illustrated embodiment, the vehicle 105 a has a total capacity of4,013 pounds and 42,660 cubic feet of which 4,013 pounds and 42,660cubic feet are currently available. The vehicle 105 c has a totalcapacity of 2,878 pounds and 36,280 cubic feet. The capacity of thevehicle 105 c is refrigerated capacity. However, none of that capacityis currently available (e.g., the container associated with the vehicle105 c is full) since the available capacity is indicated as 0 pounds and0 cubic feet.

FIG. 3 illustrates the exemplary system 100 for monitoring the locationof a vehicle 105 with additional details.

As described above, the system 100 receives the location information ofthe device 110 from a location information provider 150, which is aparty or device other than the device 110. The location informationprovider 150 may be a wireless service provider or a party or devicethat receives the location information from a wireless service provider.Examples of wireless service providers in the United States includeVerizon Wireless, AT&T Mobility, Sprint Nextel, T-Mobile, etc. Thesewireless service providers have technologies deployed that allow them toapproximate the location of devices in their network. Some of thesetechnologies were developed and deployed in compliance with E911, agovernment mandate requiring the wireless service providers to providethe approximate location of a mobile device in case of an emergency.

Location of devices in a cellular network may be described as involvingtwo general positioning techniques: 1) techniques that require thedevice to incorporate a global positioning system (GPS) receiver, and 2)techniques that use some form of radiolocation from the device's networkand do not require the device to incorporate a GPS receiver.

In one embodiment, the wireless service provider or another party ordevice originally obtaining or deriving the location information of thedevice 110 derives the location information of the device 110 at leastin part by using a radiolocation technique where the approximatedlocation of the device 110 corresponds to a range of locationscorresponding to a transmission range of a single radio tower 155. In anexample of this technology, each radio tower is assigned a uniqueidentification number, a Cell-ID. The Cell-ID is received by all mobiledevices in the coverage area of the radio tower 155, thus the positionof the device 110 in the coverage area of the radio tower 155 is derivedfrom the coordinates of the radio tower 155. Additional techniques, suchas measuring signal strength of the device 110 could be used to increasethe accuracy of the location information. Accuracy can be furtherenhanced by including a measurement of Timing Advance (TA) in GSM/GPRSnetworks or Round Trip Time (RTT) in UMTS networks. TA and RTT use timeoffset information sent from the radio tower 155 to adjust thecommunications device's relative transmit time to correctly align thetime at which the communications device's signal arrives at the radiotower 155. These measurements can be used to determine the distance fromthe communications device to the radio tower 155, further improvingaccuracy.

In one embodiment, the wireless service provider or another party ordevice originally obtaining or deriving the location information of thedevice 110 derives the location information of the device 110 at leastin part using triangulation between multiple radio towers such as tower155. The location of the device 110 may be determined by using one or acombination of several techniques including the following:

Angle of Arrival (AOA)—This technique requires at least two radio towersand locates the device 110 at the point where the lines along the anglesfrom each tower intersect.

Time Difference of Arrival (TDOA)—This technique also requires at leasttwo radio towers and determines the time difference between the time ofarrival of a signal from the device 110 to the first tower 155, to asecond tower, and so on.

Advanced Forward Link Trilateration (AFLT)—In this technique thecommunications device measures signals from nearby towers such as radiotower 155, which are then used to triangulate an approximate location ofthe device 110.

Enhanced-observed time difference (E-OTD)—This technique takes datareceived from the nearby towers such as radio tower 155 to measure thedifference in time it takes for the data to reach the device 110. Thetime difference is used to calculate where the device 110 is in relationto the radio towers.

In one embodiment, the wireless service provider or another party ordevice originally obtaining or deriving the location information of thedevice 110 derives the location information of the device 110 at leastin part by using a method including a technique not requiring a GPSsatellite receiver to form part of the device 110. In another embodimentthe wireless service provider or another party or device deriving thelocation information of the device 110 derives the location informationof the device 110 at least in part by using a hybrid method including atechnique requiring a GPS satellite receiver to form part of the device110 and a technique not requiring a GPS satellite receiver to form partof the device 110. In yet another embodiment, the wireless serviceprovider or another party or device deriving the location information ofthe device 110 derives the location information of the device 110 atleast in part by using a method including a technique requiring a GPSsatellite receiver to form part of the device 110.

However, since the system 100 obtains the location information from thelocation information provider 150 and not from the device 110, thesystem 100 can be operated to monitor the location of devicesincorporating a GPS satellite receiver as well as devices notincorporating a GPS satellite receiver. Thus, the system 100 does notrely on any particular positioning technology for obtaining the locationof the vehicle 105.

In continued reference to FIG. 3, the system 100 provides usernotification and receives user consent to the monitoring the location ofthe vehicle 105. In this embodiment, the communications interface 120 isfurther configured for communication with the device 110. In oneembodiment, the communication interface 120 is associated with a tollfree number such as a 1-800 number. The driver of the vehicle 105 mayinitiate a telephone call by dialing the toll free number. In anotherembodiment, the communications interface is associated with a numberother than a toll free number. In yet another embodiment, thecommunications interface 120 is configured to initiate the telephonecall.

In one embodiment, the system 100 further includes a validation logic130 that is configured to identify the device 110 at least in part byobtaining the identifier associated with the device 110. Obtaining theidentifier associated with the device 110 ensures that the correct party(e.g., the driver of the vehicle 105 or the user associated with thedevice 110) is notified that location of the vehicle 105 will bemonitored and that the correct party (e.g., the driver of the vehicle105 or the user associated with the device 110) consents to themonitoring of the location. In one embodiment, the identifier is atelephone number associated with the device 110. In one embodiment,where the communications interface 120 is associated with a toll freenumber as discussed above, the validation logic 130 is configured toidentify the device 110 at least in part by obtaining the telephonenumber associated with the device 110 via automatic numberidentification (ANI). As discussed above in reference to FIG. 2, inother embodiments, the identifier may be an identifier other than atelephone number.

The system 100 further includes a notification logic 140 that isconfigured to communicate a signal including data representing anautomated voice message. In one embodiment, the automated voice messageprovides a notice that includes information indicating that consentingto the monitoring of the location of the vehicle 105 would result in thelocation of the vehicle 105 or the device 110 being disclosed. Inanother embodiment, the automated voice message provides a location (webaddress, etc.) where the notice may be found indicating that consentingto the monitoring of the location of the vehicle 105 would result in thelocation of the vehicle 105 or the device 110 being disclosed. Forexample, the automated voice message may indicate that the notice may befound at a web address and provide the web address.

The communications interface 120 is configured to transmit the automatedvoice message to the device 110. The communications interface 120 isfurther configured to receive from the device 110 data indicating theuser consent to monitoring of the location of the vehicle 105.

In one embodiment, the automated voice message communicates that user'sconsent to the monitoring of the location of the vehicle 105 may beindicated by performing an action on the communications device (e.g.,“to indicate your consent to revealing your location, please press 1.”)In this embodiment, the communications interface 120 is configured toreceive data indicating that an action was performed on the device 110,which indicates the user's consent (e.g., the user pressed 1).

In another embodiment, the automated voice message communicates that theuser's consent to the monitoring of the location of the vehicle 105 maybe indicated by speaking a particular word or phrase to be received bythe device 110 (e.g., “to indicate your consent to revealing yourlocation, please say ‘yes.”) In this embodiment, the communicationsinterface 120 is configured to receive a voice command from the device110, which indicates the user's consent (e.g., the user said “yes”).

In one embodiment, after receiving the user consent to the monitoring ofthe location of the device 105, the communications interface 120transmits a request for the location information of the device 110 andreceives the location information of the communications device 110. Therequest for the location information of the device 110 includes theidentifier associated with the device 110.

In the illustrated embodiment, after receiving the user consent to themonitoring of the location of the device 105, the communicationsinterface 120 transmits a request for the location information of thedevice 110 to a location information provider 150 and receives thelocation information of the communications device 110 from the locationinformation provider 150.

In one embodiment, the notification logic 140 is further configured tocommunicate a signal including data representing a second automatedvoice message indicating that consent to the monitoring of the locationof the vehicle 105 is revocable via the device 110. In this embodiment,the communications interface 120 is configured to communicate to thedevice 110 the second automated voice message and to receiveconfirmation of consent or revocation of consent to the monitoring ofthe location of the vehicle 105 from the device 110.

In one embodiment, the second automated voice message communicates thatthe user's confirmation of consent or the user's revocation of consentto the monitoring of the location of the vehicle 105 may be indicated byperforming an action on the communications device (e.g., “to indicatethat you wish to revoke consent to revealing your location, please press1.”) In this embodiment, the communications interface 120 is configuredto receive data indicating that an action was performed on the device110, which indicates the user's confirmation or revocation of consent(e.g., the user pressed 1).

In another embodiment, the second automated voice message communicatesthat the user's confirmation of consent or the user's revocation ofconsent to the monitoring of the location of the vehicle 105 may beindicated by speaking a particular word or phrase to be received by thedevice 110 (e.g., “to indicate your confirmation of consent to revealingyour location, please say ‘confirmed.”) In this embodiment, thecommunications interface 120 is configured to receive a voice commandfrom the device 110, which indicates the user's confirmation orrevocation of consent (e.g., the user said “confirmed”).

In one embodiment, the user is given the option to temporarily revokeconsent to the disclosure of location information. For example, a drivermay wish to make available his location to a carrier during certainhours during the work week, but may not want the carrier to be able toobtain the driver's location during the weekend. The driver may operatethe device 110 to indicate a date and time when the driver wishes forthe monitoring of the location of the vehicle 105 to end or resume. Orthe driver may operate the device 110 to indicate an interval of time(e.g., 2 hours) during which the driver wishes to hide the location ofthe vehicle 105. In this embodiment, the communications interface 120 isconfigured to receive data indicating a time until which consent to themonitoring of the location of the vehicle 105 is granted or revoked, oran interval of time during which consent to the monitoring of thelocation of the vehicle 105 is granted or revoked.

In one embodiment, the user is given the option to temporarily revokeconsent to the monitoring of the location of the vehicle 105 by texting(e.g., SMS message) the term “hide” using the device 110. In oneembodiment, the user is given the option to indicate consent to themonitoring of the location of the vehicle 105 by texting (e.g., SMSmessage) the term “share” using the device 110. In this embodiment, thecommunications interface 120 is configured to receive the text messageas sent by the device 110, which indicates the user's confirmation orrevocation of consent. In another embodiment, the user may speak theterms “hide” or “share” to temporarily revoke consent or to indicateconsent to the monitoring of the location of the vehicle 105,respectively. In this embodiment, the communications interface 120 isconfigured to receive a voice command from the device 110, whichindicates the user's confirmation or revocation of consent.

In one embodiment, when the location of the vehicle 105 is beingdisclosed, the notification logic 140 is further configured toperiodically generate and the communications interface 120 is furtherconfigured to periodically communicate a reminder notification messageindicating that the location of the vehicle 105 is currently beingdisclosed. In one embodiment, the system 100 reminds the user every 30days that the location of the vehicle 105 is currently being disclosed.In another embodiment, the system 100 reminds the user more or lessoften than every 30 days that the location of the vehicle 105 iscurrently being disclosed.

In one embodiment, the communications interface 120 reminds the user inan automated voice message that the location of the vehicle 105 iscurrently being disclosed. In another embodiment, the communicationsinterface 120 reminds the user in an SMS message that the location ofthe vehicle 105 is currently being disclosed. In yet another embodiment,the communications interface 120 reminds the user via electroniccommunication other than an automated voice message or an SMS messagethat the location of the vehicle 105 is currently being disclosed.

Example methods may be better appreciated with reference to the flowdiagrams of FIGS. 4 through 7. While for purposes of simplicity ofexplanation, the illustrated methodologies are shown and described as aseries of blocks, it is to be appreciated that the methodologies are notlimited by the order of the blocks, as some blocks can occur indifferent orders or concurrently with other blocks from that shown ordescribed. Moreover, less than all the illustrated blocks may berequired to implement an example methodology. Furthermore, additional oralternative methodologies can employ additional, not illustrated blocks.

In the flow diagrams, blocks denote “processing blocks” that may beimplemented with logic. The processing blocks may represent a methodstep or an apparatus element for performing the method step. A flowdiagram does not depict syntax for any particular programming language,methodology, or style (e.g., procedural, object-oriented). Rather, aflow diagram illustrates functional information one skilled in the artmay employ to develop logic to perform the illustrated processing. Itwill be appreciated that in some examples, program elements liketemporary variables, routine loops, and so on, are not shown. It will befurther appreciated that electronic and software applications mayinvolve dynamic and flexible processes so that the illustrated blockscan be performed in other sequences that are different from those shownor that blocks may be combined or separated into multiple components. Itwill be appreciated that the processes may be implemented using variousprogramming approaches like machine language, procedural, objectoriented or artificial intelligence techniques.

In one example, methodologies are implemented as processor executableinstructions or operations provided on a computer-readable medium. Thus,in one example, a computer-readable medium may store processorexecutable instructions operable to perform the methods of FIGS. 4through 7.

While FIGS. 4 through 7 illustrate various actions occurring in serial,it is to be appreciated that various actions illustrated in FIGS. 4through 7 could occur substantially in parallel. While a number ofprocesses are described, it is to be appreciated that a greater orlesser number of processes could be employed and that lightweightprocesses, regular processes, threads, and other approaches could beemployed. It is to be appreciated that other example methods may, insome cases, also include actions that occur substantially in parallel.

FIG. 4 illustrates a flow diagram for an exemplary method 400 formonitoring location of a vehicle. At 410, the method 400 includesreceiving a first electronic signal including data representing arequest for information regarding the location of the vehicle. At 420,the method 400 includes correlating the vehicle to a communicationsdevice based at least in part on the communications device beingassociated with a user who is associated with the vehicle. At 430, themethod 400 includes transmitting a second electronic signal to alocation information provider corresponding to a party or device otherthan the communications device. The second electronic signal includesdata representing a request for location information of thecommunications device. In one embodiment, the second electronic signalincludes data representing a telephone number associated with thecommunications device.

At 440, the method 400 includes receiving a third electronic signal fromthe location information provider including data representing thelocation information of the communications device. At 450, the method400 includes correlating the location information of the communicationsdevice with the location of the vehicle based at least in part on thecommunications device being associated with the user who is associatedwith the vehicle. At 460, the method 400 includes transmitting a fourthelectronic signal including data representing the location of thevehicle. In one embodiment, the transmitting the fourth electronicsignal including data representing the location of the vehicle includesexposing an application programming interface (API) from which therequesting party can access the location of the vehicle.

In one embodiment, the location information of the communications deviceis originally obtained using a method including a technique other than atechnique utilizing a global position system (GPS) satellite receiverthat forms part of the communications device. In one embodiment, thelocation information of the communications device is originally obtainedusing a method including at least one of: advance forward linktrilateration (AFLT), observed time difference (OTD), Cell-ID (CID), andobtaining a range of locations corresponding to a transmission range ofa single radio tower.

In one embodiment, the user of the communications device is a driver ofthe vehicle. In one embodiment, the location information providercorresponds to one of: a wireless service provider providing wirelessservice to the communications device or a third party that obtains thelocation information from the wireless service provider providingwireless service to the communications device. In one embodiment, therequesting party corresponds to one of: a freight service providerwherein the location of the vehicle is transmitted to the freightservice provider for the freight service provider to have access tolocation of freight carried by the vehicle, or the driver of the vehiclerequesting that the location of the vehicle be transmitted to a freightservice provider for the freight service provider to have access tolocation of freight carried by the vehicle.

FIG. 5 illustrates a flow diagram for an exemplary method 500 formonitoring location of a vehicle. At 510, the method 500 includestransmitting a request signal requesting location information of acommunications device. The request signal is transmitted to a partyother than the communications device. The communications device isassociated with a user of the communications device who is alsoassociated with the vehicle. At 520, the method 500 includes receiving alocation signal including data indicating the location information ofthe communications device. The location signal is received from a partyother than the communications device.

At 530, the method 500 includes transforming the location information ofthe communications device into location information regarding thevehicle based at least in part on the communications device beingassociated with the user of the communications device who is alsoassociated with the vehicle.

In one embodiment, the location information of the communications deviceis originally obtained by a wireless service provider providing wirelessservice to the communications device. In one embodiment, the locationinformation of the communications device includes location informationobtained in compliance with E911. In one embodiment, the locationinformation of the communications device is originally obtained using amethod not requiring a global position system (GPS) satellite receiverto form part of the communications device. In one embodiment, thelocation information of the communications device is originally obtainedthrough triangulation between radio towers. In one embodiment, thelocation information of the communications device is originally obtainedusing a range of locations corresponding to a transmission range of asingle radio tower.

In one embodiment, the location signal is received from one of: awireless service provider, or a third party who receives the locationinformation from the wireless service provider.

FIG. 6 illustrates a flow diagram for an exemplary method 600 forreceiving consent from a user for monitoring the location of a vehicleassociated with the user. At 610, the method 600 includes participatingin a telephone call with a communications device associated with theuser. In one embodiment, the user of the communications device initiatesthe telephone call. In another embodiment, the user of thecommunications device receives the telephone call. At 620, the method600 includes identifying the communications device at least in part byobtaining an identifier associated with the communications device. Inone embodiment, the identifier is a telephone number associated with thecommunications device. In one embodiment, the communications device userplaces the telephone call to a toll free number and the identifying thecommunications device includes obtaining a telephone number associatedwith the communications device via automatic number identification(ANI).

In other embodiments, the identifier is an identifier other than atelephone number. For example, the identifier may be a mobileidentification number (MIN), an electronic serial number (ESN), anInternational Mobile Equipment Identity (IMEI), an International MobileSubscriber Identity (IMSI), a Mobile Equipment Identifier (MEID), aManufacturer's Serial Number (MSN), a Mobile Subscriber IntegratedServices Digital Network (MSISDN) number, a Media Access Control (MAC)address, combinations thereof, and so on.

At 630, the method 600 includes transmitting to the communicationsdevice a signal including data representing an automated voice message.The automated voice message communicates to the user of thecommunications device at least one of: (a) a notice includinginformation indicating that consenting to the monitoring of the locationof the vehicle would result in the location of the vehicle or thelocation of the communications device being disclosed, or (b) a locationat which to find the notice. At 640, the method 600 includes receivingfrom the user via the communications device consent for monitoring thelocation of the vehicle.

In one embodiment, the receiving from the communications device consentfor monitoring the location of the vehicle includes receiving dataindicating that the user has performed an action on the communicationsdevice. For example, the user may have pressed a key in thecommunications device, touched or swipe a particular portion of thedevice's screen, shaken the communications device, combinations thereonand so on. In another embodiment, the receiving from the communicationsdevice consent for monitoring the location of the vehicle includesreceiving a voice command from the communications device.

In one embodiment, once consent has been obtained from the user of thecommunications device, the method 600 includes periodicallycommunicating to the user via the communications device a notificationmessage indicating that the location is being disclosed.

In one embodiment, after receiving from the user consent for monitoringthe location of the vehicle, the method 600 includes transmitting arequest for the location information of the communications device andreceiving the location information of the communications device.

In one embodiment, after receiving the location information of thecommunications device, the method 600 includes communicating thelocation of the vehicle to a receiving party. In one embodiment,communicating the location of the vehicle to a receiving party includes:(a) transmitting the communicating the location of the vehicle to thereceiving party through computer communication, or (b) exposing anapplication programming interface (API) from which the receiving partycan access the location of the vehicle.

FIG. 7 illustrates a flow diagram for an exemplary method 700 forreceiving from a user a revocation of consent for monitoring thelocation of a vehicle associated with the user. At 710, the method 700includes participating in a telephone call with a communications deviceassociated with the user. In one embodiment, the user initiates thetelephone call. In another embodiment, the user receives the telephonecall. At 720, the method 700 includes identifying the communicationsdevice at least in part by obtaining an identifier associated with thecommunications device. In one embodiment, the identifier is a telephonenumber associated with the communications device. In one embodiment, theuser places the telephone call to a toll free number and the identifyingthe communications device includes obtaining a telephone numberassociated with the communications device via automatic numberidentification (ANI). In other embodiments, the identifier is anidentifier other than a telephone number as discussed above in referenceto method 600.

At 730, the method 700 includes communicating to the user via anautomated voice message transmitted to the communications deviceinformation indicating that consent to the monitoring of the location ofthe vehicle associated with the user is revocable via the communicationsdevice. At 740, the method 700 includes receiving from thecommunications device revocation of the consent to the monitoring of thelocation of the vehicle associated with the user.

In one embodiment, the receiving from the communications devicerevocation of consent to the monitoring of the location of the vehicleincludes receiving data indicating that the user has performed an actionon the communications device. For example, the user may have pressed akey in the communications device, touched or swipe a particular portionof the device's screen, shaken the communications device, combinationsthereon and so on. In another embodiment, the receiving from thecommunications device revocation of consent to the monitoring of thelocation of the vehicle includes receiving a voice command from thecommunications device.

In one embodiment, the revocation of consent is temporary, and thereceiving from the communications device revocation of the consent tothe monitoring of the location of the vehicle includes receiving dataindicating (a) a time at which consent to the monitoring of the locationof the vehicle is revoked, (b) a time until which the consent to themonitoring of the location of the vehicle is revoked, or (c) an intervalof time during which the consent to the monitoring of the location ofthe vehicle is revoked. Consent is revoked at the time indicated or atthe beginning of the indicated interval of time. Consent is unrevoked atthe indicated time until which the consent to the monitoring of thelocation of the vehicle is revoked or upon expiration of the indicatedinterval of time during which the consent to the monitoring of thelocation of the vehicle is revoked.

In one embodiment, the user is given the option to temporarily revokeconsent to the monitoring of the location of the vehicle by texting(e.g., SMS message) the term “hide” using the device 110. In oneembodiment, the user is given the option to indicate consent to themonitoring of the location of the vehicle by texting (e.g., SMS message)the term “share” using the device 110. In another embodiment, the usermay speak the terms “hide” or “share” to temporarily revoke consent orto indicate consent to the monitoring of the location of the vehicle,respectively. In one embodiment, words other than “hide” or “share” maybe used to temporarily revoke consent or to indicate consent to themonitoring of the location of the vehicle, respectively.

FIG. 8 illustrates an exemplary user interface 800 for use inconjunction with a system for monitoring of the location of the vehicle.The user interface 800 is operable by the requesting party or thereceiving party to set up monitoring of the location of the vehicle,display information regarding monitoring of the location of the vehicle,and display location of the vehicle.

In the illustrated embodiment, the user interface 800 displays Start/EndMonitoring buttons 810 a-g operable by a user to end or start monitoringof the location of the vehicle. The user interface 800 further displaysthe Telephone Number corresponding to the communications deviceassociated with a user associated with the vehicle. The user interface800 further displays the Monitoring Term, which corresponds to the totalamount of time (e.g., 2 hours) that the location of the associatedvehicle will be monitored. The user interface 800 further displays theMonitoring Interval, which corresponds to how often within theMonitoring Term (e.g., every 15 minutes) the location of the vehicle isupdated. In the illustrated embodiment, the user interface 800 displaysthe Location as latitude and longitude coordinates. In anotherembodiment, the user interface 800 displays the Location in a formatother than latitude and longitude coordinates. In one embodiment, a usermay click on Location to display a map that includes a mark indicatingthe location of the vehicle on the map.

In one embodiment, an operator of a system for monitoring location of avehicle or some other party who provides vehicle location monitoringservices to a user charges fees to the user on a per-load basis or aper-time-monitored basis. A common practice in the vehicle locationmonitoring services industry is to charge a user a standard flat monthlyfee for monitoring services. This is, at least in part, due tolimitations of conventional systems for monitoring vehicle location. Thesystems and methods for monitoring location of a vehicle disclosedherein provide the provider of vehicle location monitoring services withthe ability to charge for the services on a per-load basis or aper-time-monitored basis. For example, a user may operate the userinterface 800 or any other means to interface with the system formonitoring location of vehicles to set a time to start or end monitoringof the location of five vehicles (e.g., Start/End Monitoring buttons 810a-g).

In one embodiment where the provider of vehicle location monitoringservices provides its services on a per-load or a per-time-monitoredbasis at a set or negotiated rate per load per unit time, the system maykeep track of the number of vehicles (i.e., five) whose location ismonitored, as well as the total amount of time for which vehicles'location is monitored (i.e., total time×5 vehicles×rate). The operatormay use the Monitoring Term to establish the total amount of time (e.g.,2 hours) or the Monitoring Interval to establish the frequency withinthe Monitoring Term (e.g., every 15 minutes) that the location of thevehicle or vehicles is monitored. With this information available to theoperator's billing system, the operator can charge fees to the user on aper-load basis or a per-time-monitored basis.

In the illustrated embodiment, the user interface displays aPartner/Code. The Partner/Code field may display a code corresponding toa partner company or driver. For example, a carrier A may subcontractwith another carrier NAT to move freight from location 1 to location 2.The user interface displays the carrier NAT associated with theTelephone Number 555-555-5555.

The user interface 800 further displays a Reference Number. In oneembodiment, the Reference Number field is a customizable field thatcarriers can use to identify a particular load, a particular vehicle, aparticular order, etc. In one embodiment, the Reference Number appearsin invoices and other documents to facilitate efficient systemadministration.

The user interface 800 further displays the Status of the vehicle. Forexample, the Status may indicate that the system is Monitoring thevehicle. In another example, the Status may display that the vehicle isHidden to indicate that the user associated with the vehicle hastemporarily revoked consent to monitoring of the vehicle's location.Other possible Status indicators include: (a) Ready to monitor, whichindicates that the monitoring of the location of the vehicle is setupand the system is awaiting location information data, (b) Expired, whichindicates that the Monitoring Term has expired, and (c) Denied, whichindicates that the user denied consent to monitoring the location of thevehicle.

In one embodiment, the user interface 800 is used to add vehicles whoselocation is to be monitored. A user may use field 820 to enter theidentifier corresponding to the communications device associated withthe vehicle whose location is to be monitored. In one embodiment (notillustrated), the user interface 800 provides a pull-down menu fromwhich the user may chose an identifier. The user may further enter theMonitoring Term in field 830, the Monitoring Interval in field 840, thePartner/Code in field 850 and the Reference Number in field 860. In oneembodiment (not illustrated), the user interface 800 provides each ofthese fields as pull-down menus.

In some cases, the requesting party may not know the identifiercorresponding to the vehicle or the user may know the identifier but nothave authorization to monitoring the location of the vehicle associatedwith the identifier. In one embodiment (not shown), the user may enter aPartner/Code that serves as verification that the user has obtainedauthorization from the partner to monitor location of the vehicleassociated with the identifier. This feature may also serve to keep theuser from learning the identifier in cases where the user associatedwith the vehicle, the partner, or some other party desires not to revealthe identifier to the requesting party.

In one embodiment, the user associated with the vehicle (e.g., driver)may enter the Partner/Code. For example, the user associated with thevehicle may be an independent driver who wishes for the locationinformation of his vehicle to be monitored by a carrier so that thecarrier may assign freight for the driver to haul. However, the carriermay not want every driver in the field to do this freely because of thepotential costs associated with monitoring the location of a largenumber of vehicles. The carrier may require the driver to enter aPartner/Code obtained from the carrier that serves as verification thatthe driver has obtained authorization from the carrier for the locationof the driver's vehicle to be monitored by the carrier.

Referring now to FIG. 9, an application programming interface (API) 900is illustrated providing access to a system 910 for monitoring locationof a vehicle to a receiving party. The API 900 can be employed, forexample, by a programmer 920 or a process 930 to gain access toprocessing performed by the system 910. For example, a programmer 920can write a program to access the system 910 (e.g., invoke itsoperation, obtain its operation, set up its operation, monitor locationof a vehicle) where writing the program is facilitated by the presenceof the API 900. Rather than programmer 920 having to understand theinternals of the system 910, the programmer 920 merely has to learn theinterface to the system 910. This facilitates encapsulating thefunctionality of the system 910 while exposing that functionality.

Similarly, the API 900 can be employed to provide data values to thesystem 910 or retrieve data values from the system 910. For example, aprocess 930 that processes location of a vehicle can provide anidentifier to the system 910 via the API 900 by, for example, using acall provided in the API 900. Thus, in one example of the API 900, a setof application programming interfaces can be stored on acomputer-readable medium. The interfaces can be employed by aprogrammer, computer component, logic, and so on, to gain access to asystem 910 for monitoring location of a vehicle.

FIG. 10 illustrates a computer 1000 that includes a processor 1002, amemory 1004, and I/O Ports 1010 operably connected by a bus 1008. In oneexample, the computer 1000 may include a validation logic 1030configured to facilitate validation of a communications device. Thus,the validation logic 1030, whether implemented in computer 1000 ashardware, firmware, software, or a combination thereof may provide meansfor identifying the communications device at least in part by obtainingan identifier associated with the communications device. In anotherexample, the computer 1000 may include a notification logic 1040configured to provide notification to the user associated with avehicle. Thus, the notification logic 1040, whether implemented incomputer 1000 as hardware, firmware, software, or a combination thereofmay provide means for communicating a signal including data representingautomated voice messages that provide notices or directs the user of thecommunications device to notices that include information indicating (a)that consenting to the monitoring of the vehicle will result in thelocation information of the vehicle or the communications device beingdisclosed, (b) that the user may revoke notice by operation of thecommunications device, and so on. In yet another example, the computer1000 may include a correlation logic 1070 configured to correlate avehicle to a communications device or the location information of acommunications device to the location of a vehicle based at least inpart on the communications device being associated with a user of thecommunications device who is associated with the vehicle. Thus, thecorrelation logic 1070, whether implemented in computer 1000 ashardware, firmware, software, or a combination thereof may provide meansfor correlating a vehicle to a communications device based at least inpart on the communications device being associated with the user who isassociated with the vehicle, means for correlating the locationinformation of the communications device with the location of thevehicle based at least in part on the communications device beingassociated with the user who is associated with the vehicle, or meansfor transforming the location information of the communications deviceinto location information regarding the vehicle based at least in parton the communications device being associated with the user of thecommunications device who is also associated with the vehicle. Thevalidation logic 1030, the notification logic 1040, or the correlationlogic 1070 may be permanently or removably attached to the computer1000.

The processor 1002 can be a variety of various processors including dualmicroprocessor and other multi-processor architectures. The memory 1004can include volatile memory or non-volatile memory. The non-volatilememory can include, but is not limited to, ROM, PROM, EPROM, EEPROM, andthe like. Volatile memory can include, for example, RAM, synchronous RAM(SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rateSDRAM (DDR SDRAM), and direct RAM bus RAM (DRRAM).

A disk 1006 may be operably connected to the computer 1000 via, forexample, a communications interface (e.g., card, device) 1018 and an I/OPorts 1010. The disk 1006 can include, but is not limited to, deviceslike a magnetic disk drive, a solid state disk drive, a floppy diskdrive, a tape drive, a Zip drive, a flash memory card, or a memorystick. Furthermore, the disk 1006 can include optical drives like aCD-ROM, a CD recordable drive (CD-R drive), a CD rewriteable drive(CD-RW drive), or a digital video ROM drive (DVD ROM). The memory 1004can store processes 1014 or data 1016, for example. The disk 1006 ormemory 1004 can store an operating system that controls and allocatesresources of the computer 1000.

The bus 1008 can be a single internal bus interconnect architecture orother bus or mesh architectures. While a single bus is illustrated, itis to be appreciated that computer 1000 may communicate with variousdevices, logics, and peripherals using other busses that are notillustrated (e.g., PCIE, SATA, Infiniband, 1394, USB, Ethernet). The bus1008 can be of a variety of types including, but not limited to, amemory bus or memory controller, a peripheral bus or external bus, acrossbar switch, or a local bus. The local bus can be of varietiesincluding, but not limited to, an industrial standard architecture (ISA)bus, a microchannel architecture (MCA) bus, an extended ISA (EISA) bus,a peripheral component interconnect (PCI) bus, a universal serial (USB)bus, and a small computer systems interface (SCSI) bus.

The computer 1000 may interact with input/output devices viacommunications interface 1018 and I/O Ports 1010. Input/output devicescan include, but are not limited to, a keyboard, a microphone, apointing and selection device, cameras, video cards, displays, disk1006, network devices 1020, and the like. The I/O Ports 1010 can includebut are not limited to, serial ports, parallel ports, and USB ports.

The computer 1000 can operate in a network environment and thus may beconnected to network devices 1020 via the communications interface 1018,or the I/O Ports 1010. Through the network devices 1020, the computer1000 may interact with a network. Through the network, the computer 1000may be logically connected to remote computers. The networks with whichthe computer 1000 may interact include, but are not limited to, a localarea network (LAN), a wide area network (WAN), and other networks. Thenetwork devices 1020 can connect to LAN technologies including, but notlimited to, fiber distributed data interface (FDDI), copper distributeddata interface (CDDI), Ethernet (IEEE 802.3), token ring (IEEE 802.5),wireless computer communication (IEEE 802.11), Bluetooth (IEEE802.15.1), Zigbee (IEEE 802.15.4) and the like. Similarly, the networkdevices 1020 can connect to WAN technologies including, but not limitedto, point to point links, circuit switching networks like integratedservices digital networks (ISDN), packet switching networks, LTEnetworks, GSM networks, GPRS networks, CDMA networks, and digitalsubscriber lines (DSL). While individual network types are described, itis to be appreciated that communications via, over, or through a networkmay include combinations and mixtures of communications.

Definitions

The following includes definitions of selected terms employed herein.The definitions include various examples, forms, or both of componentsthat fall within the scope of a term and that may be used forimplementation. The examples are not intended to be limiting. Bothsingular and plural forms of terms may be within the definitions.

As used in this application, the term “computer component” refers to acomputer-related entity, either hardware, firmware, software, acombination thereof, or software in execution. For example, a computercomponent can be, but is not limited to being, a process running on aprocessor, a processor, an object, an executable, a thread of execution,a program, and a computer. By way of illustration, both an applicationrunning on a server and the server can be computer components. One ormore computer components can reside within a process or thread ofexecution and a computer component can be localized on one computer ordistributed between two or more computers.

“Computer communication,” as used herein, refers to a communicationbetween two or more computing devices (e.g., computer, personal digitalassistant, cellular telephone) and can be, for example, a networktransfer, a file transfer, an applet transfer, an email, a hypertexttransfer protocol (HTTP) transfer, and so on. A computer communicationcan occur across, for example, a wireless system (e.g., IEEE 802.11,IEEE 802.15), an Ethernet system (e.g., IEEE 802.3), a token ring system(e.g., IEEE 802.5), a local area network (LAN), a wide area network(WAN), a point-to-point system, a circuit switching system, a packetswitching system, combinations thereof, and so on.

“Computer-readable medium,” as used herein, refers to a medium thatparticipates in directly or indirectly providing signals, instructionsor data. A computer-readable medium may take forms, including, but notlimited to, non-volatile media, volatile media, and transmission media.Non-volatile media may include, for example, optical or magnetic disks,and so on. Volatile media may include, for example, optical or magneticdisks, dynamic memory and the like. Transmission media may includecoaxial cables, copper wire, fiber optic cables, and the like.Transmission media can also take the form of electromagnetic radiation,like that generated during radio-wave and infra-red data communications,or take the form of one or more groups of signals. Common forms of acomputer-readable medium include, but are not limited to, a floppy disk,a flexible disk, a hard disk, a magnetic tape, other magnetic media, aCD-ROM, other optical media, punch cards, paper tape, other physicalmedia with patterns of holes, a RAM, a ROM, an EPROM, a FLASH-EPROM, orother memory chip or card, a memory stick, a carrier wave/pulse, andother media from which a computer, a processor or other electronicdevice can read. Signals used to propagate instructions or othersoftware over a network, like the Internet, can be considered a“computer-readable medium.”

“Data store,” as used herein, refers to a physical or logical entitythat can store data. A data store may be, for example, a database, atable, a file, a list, a queue, a heap, a memory, a register, and so on.A data store may reside in one logical or physical entity or may bedistributed between two or more logical or physical entities.

A “logic,” as used herein, includes but is not limited to hardware,firmware, software or combinations of each to perform a function(s) oran action(s), or to cause a function or action from another logic,method, or system. For example, based on a desired application or needs,a logic may include a software controlled microprocessor, discrete logiclike an application specific integrated circuit (ASIC), a programmedlogic device, a memory device containing instructions, or the like. Alogic may include one or more gates, combinations of gates, or othercircuit components. A logic may also be fully embodied as software.Where multiple logical logics are described, it may be possible toincorporate the multiple logical logics into one physical logic.Similarly, where a single logical logic is described, it may be possibleto distribute that single logical logic between multiple physicallogics.

An “operable connection,” or a connection by which entities are“operably connected,” is one in which signals, physical communications,or logical communications may be sent or received. Typically, anoperable connection includes a physical interface, an electricalinterface, or a data interface, but it is to be noted that an operableconnection may include differing combinations of these or other types ofconnections sufficient to allow operable control. For example, twoentities can be operably connected by being able to communicate signalsto each other directly or through one or more intermediate entities likea processor, operating system, a logic, software, or other entity.Logical or physical communication channels can be used to create anoperable connection.

“Signal,” as used herein, includes but is not limited to one or moreelectrical or optical signals, analog or digital signals, data, one ormore computer or processor instructions, messages, a bit or bit stream,or other means that can be received, transmitted or detected.

“Software,” as used herein, includes but is not limited to, one or morecomputer or processor instructions that can be read, interpreted,compiled, or executed and that cause a computer, processor, or otherelectronic device to perform functions, actions or behave in a desiredmanner. The instructions may be embodied in various forms like routines,algorithms, modules, methods, threads, or programs including separateapplications or code from dynamically or statically linked libraries.Software may also be implemented in a variety of executable or loadableforms including, but not limited to, a stand-alone program, a functioncall (local or remote), a servelet, an applet, instructions stored in amemory, part of an operating system or other types of executableinstructions. It will be appreciated by one of ordinary skill in the artthat the form of software may depend, for example, on requirements of adesired application, the environment in which it runs, or the desires ofa designer/programmer or the like. It will also be appreciated thatcomputer-readable or executable instructions can be located in one logicor distributed between two or more communicating, co-operating, orparallel processing logics and thus can be loaded or executed in serial,parallel, massively parallel and other manners.

Suitable software for implementing the various components of the examplesystems and methods described herein may be produced using programminglanguages and tools like Java, Java Script, Java.NET, ASP.NET, VB.NET,Cocoa, Pascal, C#, C++, C, CGI, Perl, SQL, APIs, SDKs, assembly,firmware, microcode, or other languages and tools. Software, whether anentire system or a component of a system, may be embodied as an articleof manufacture and maintained or provided as part of a computer-readablemedium as defined previously. Another form of the software may includesignals that transmit program code of the software to a recipient over anetwork or other communication medium. Thus, in one example, acomputer-readable medium has a form of signals that represent thesoftware/firmware as it is downloaded from a web server to a user. Inanother example, the computer-readable medium has a form of thesoftware/firmware as it is maintained on the web server. Other forms mayalso be used.

“User,” as used herein, includes but is not limited to one or morepersons, software, computers or other devices, or combinations of these.

To the extent that the term “includes” or “including” is employed in thedetailed description or the claims, it is intended to be inclusive in amanner similar to the term “comprising” as that term is interpreted whenemployed as a transitional word in a claim. Furthermore, to the extentthat the term “or” is employed in the detailed description or claims(e.g., A or B) it is intended to mean “A or B or both”. When theapplicants intend to indicate “only A or B but not both” then the term“only A or B but not both” will be employed. Thus, use of the term “or”herein is the inclusive, and not the exclusive use. See, Bryan A.Garner, A Dictionary of Modern Legal Usage 624 (2d. Ed. 1995).

While example systems, methods, and so on, have been illustrated bydescribing examples, and while the examples have been described inconsiderable detail, it is not the intention to restrict or in any waylimit the scope of the appended claims to such detail. It is, of course,not possible to describe every conceivable combination of components ormethodologies for purposes of describing the systems, methods, and soon, described herein. Additional advantages and modifications willreadily appear to those skilled in the art. Therefore, the invention isnot limited to the specific details, and illustrative examples shown ordescribed. Thus, this application is intended to embrace alterations,modifications, and variations that fall within the scope of the appendedclaims. Furthermore, the preceding description is not meant to limit thescope of the invention. Rather, the scope of the invention is to bedetermined by the appended claims and their equivalents.

The invention claimed is:
 1. A machine or group of machines formonitoring location of at least one of a vehicle or freight carried bythe vehicle, comprising: a consent logic configured to determine whetherconsent was given to transmit location information of a communicationsdevice; a correlation logic configured to correlate, by a CPU, thelocation of the at least one of the vehicle or the freight carried bythe vehicle with the location information of the communications devicebased at least in part on a correlation between the at least one of thevehicle or the freight carried by the vehicle and the communicationsdevice; and a communications interface configured to communicateelectronic signals including: a location request signal including datarepresenting a request for information regarding the location of the atleast one of the vehicle or the freight carried by the vehicle, alocation information request signal transmitted to a locationinformation provider corresponding to a party or device other than thecommunications device including data representing a request for locationinformation of the communications device, a location information signalreceived from the location information provider including datarepresenting the location information of the communications device, anda location signal including data representing the location of the atleast one of the vehicle or the freight carried by the vehicle to causerepresentation of the location of the vehicle or the freight carried bythe vehicle by a remote device.
 2. The machine or group of machines ofclaim 1, wherein the location information of the communications deviceis originally obtained using a method including a technique utilizing aglobal position machine or group of machines (GPS) satellite receiverthat forms part of the communications device.
 3. The machine or group ofmachines of claim 1, wherein the location information of thecommunications device is originally obtained using a method including atechnique other than a technique utilizing a global position machine orgroup of machines (GPS) satellite receiver that forms part of thecommunications device.
 4. The machine or group of machines of claim 1,wherein the communications interface transmitting the location signalincluding data representing the location of the at least one of thevehicle or the freight carried by the vehicle includes thecommunications interface exposing an application programming interface(API) from which the location of the at least one of the vehicle or thefreight carried by the vehicle is obtained by a requesting party.
 5. Themachine or group of machines of claim 1, wherein the communicationsinterface transmitting the location signal including data representingthe location of the at least one of the vehicle or the freight carriedby the vehicle includes the communications interface interfacing with anexposed application programming interface (API) through which thelocation of the at least one of the vehicle or the freight carried bythe vehicle is transmitted.
 6. The machine or group of machines of claim1, wherein the communications interface transmits the locations signalto one or more of: a freight service provider, a party to whom thefreight service provider provides freight services, and a party thatprovides location information services to the freight service provideror to the party to whom the freight service provider provides freightservices.
 7. The machine or group of machines of claim 1, wherein thelocation signal is configured to cause display of a visualrepresentation of the location of the vehicle or the freight carried bythe vehicle on the remote device's user interface by displaying thelocation of the vehicle or the freight carried by the vehicle aslatitude and longitude coordinates.
 8. The machine or group of machinesof claim 1, wherein the location signal is configured to cause displayof a visual representation of the location of the vehicle or the freightcarried by the vehicle on the remote device's user interface bydisplaying the location of the vehicle or the freight carried by thevehicle as city/state.
 9. The machine or group of machines of claim 1,wherein the location signal is configured to cause display of a visualrepresentation of the location of the vehicle or the freight carried bythe vehicle on the remote device's user interface by displaying a mapthat includes a mark indicating the location of the vehicle on the map.10. A machine or group of machines for monitoring location of at leastone of a vehicle or freight carried by the vehicle, the machine or groupof machines comprising: a communications interface configured tocommunicate electronic signals including a location request signalincluding data representing a request for information regarding thelocation of the vehicle or the freight carried by the vehicle; and acorrelation logic in the machine or group of machines configured tocorrelate, by a CPU, the vehicle or the freight carried by the vehicleto a communications device, wherein the communications interface isfurther configured to communicate: a location information request signalincluding data representing a request for location information of thecommunications device to a location information provider; a signalincluding data that indicates that a user of the communications deviceconsented to transmission of location information; a locationinformation signal from the location information provider including datarepresenting location information of the communications device; and thecorrelation logic is further configured to correlate the locationinformation from the location information provider to the location ofthe vehicle or the freight carried by the vehicle based at least in parton the correlation of the vehicle or the freight carried by the vehicleto the communications device; and the communications interface isfurther configured to communicate a location signal including datarepresenting the location of the vehicle or the freight carried by thevehicle, the location signal configured to cause representation of thelocation of the vehicle or the freight carried by the vehicle.
 11. Themachine or group of machines of claim 10, wherein the correlation logiccorrelates the vehicle or the freight carried by the vehicle to thecommunications device by correlating a vehicle reference number or afreight reference number, respectively, to the communications device.12. The machine or group of machines of claim 10, wherein the locationinformation provider corresponds to at least one of: a wireless serviceprovider providing wireless service to the communications device, athird party that obtains the location information of the communicationsdevice from the wireless service provider providing wireless service tothe communications device, and a party that has access to the locationinformation of the communications device but is other than the wirelessservice provider or the third party that obtains the locationinformation of the communications device from the wireless serviceprovider.
 13. The machine or group of machines of claim 10, wherein thecommunications interface transmitting the location signal including datarepresenting the location of the at least one of the vehicle or thefreight carried by the vehicle includes at least one of thecommunications interface: exposing an application programming interface(API) from which the location of the at least one of the vehicle or thefreight carried by the vehicle is transmitted, or interfacing with anexposed application programming interface (API) through which thelocation of the at least one of the vehicle or the freight carried bythe vehicle is transmitted.
 14. The machine or group of machines ofclaim 10, wherein the communications interface transmits the locationsignal to one or more of: a freight service provider, a party to whomthe freight service provider provides freight services, and a party thatprovides location information services to the freight service provideror to the party to whom the freight service provider provides freightservices.
 15. The machine or group of machines of claim 10, wherein thelocation information signal is also the signal including data thatindicates that the user of the communications device consented totransmission of the location information.
 16. The machine or group ofmachines of claim 10, wherein the location signal is configured to causedisplay of a visual representation of the location of the vehicle or thefreight carried by the vehicle on a remote device's user interface bydisplaying the location of the vehicle or the freight carried by thevehicle as a) latitude and longitude coordinates, b) city/state, or c) amap that includes a mark indicating the location of the vehicle on themap.